iT邦幫忙

2025 iThome 鐵人賽

DAY 16
0
AI & Data

AI、機器學習以及深度學習的語言學應用系列 第 16

Day 16 - Hidden Markov Models(HMM)

  • 分享至 

  • xImage
  •  

昨天在講 Named Entity Recognition(命名實體辨識)的時候,有講到「Hidden Markov Model (HMM)」,但是沒有特別介紹他是什麼。

今天就要來介紹 Hidden Markov Model (HMM)~~


HMM 是什麼?

  • 簡單來說,HMM 是 從 Markov chain 延伸出來的機器學習模型

  • 最大的區別在於:Markov chain 我們可以看到狀態的內容,但是 HMM 看不到

  • 基本的運作原理:從一個初始狀態開始,然後沿著狀態一直走下去,累積機率,最後停在某個狀態上

  • 它的特色很明顯:

    • 你只能看到觀察序列(observations)
    • 實際狀態(hidden states) 看不到
      👉🏻 我們只能透過觀察值來去做推測
    • 舉個例子:你觀察到有人走路姿勢突然怪怪的,HMM 就能告訴你,他最可能是腳被鞋子磨到了或是腳拐到了。
  • 雖然我們無法直接知道真實狀態,但有三個「線索」幫助我們推斷:

    1. 初始狀態機率(Initial Probabilities):一開始每個狀態的可能性
    2. 狀態轉移矩陣(Transition Probabilities):一個狀態變成另一個狀態的機率
    3. 觀察機率矩陣(B):在某個狀態下,觀察到特定結果的機率

為什麼會看不到狀態呢?

  • 我們通常好奇的狀態都會是隱藏的,像是在一個文本當中,我們看不到詞性的標記,必須要從字串的順序來去推測出每個字的詞性

Markov Chain(馬可夫鏈)是什麼?

這邊簡單講解一下馬可夫鏈是在做什麼的~

  • 馬可夫鏈是一種模型,用來描述一連串隨機變數(states)的機率,其中每個 state 都從 set 當中得到數值(value)
  • 這些 set 可以是字詞、標籤、或表示任何東西的符號

Markov Assumption

  • 馬可夫鏈有一個很強的設想

未來的狀態只依賴於當前的狀態,與更久以前的歷史無關。

  • 假設我們想預測明天的股市走向,我們只能看今天的股市走向,不能去看昨天或是前天的

HMM 的三個問題

理解 HMM 的三個核心問題,就可以知道他到底在做什麼了。

1. Evaluation/Likelihood

  • 從觀察序列 O 及模型參數 λ = (A,B),得出此序列的機率 P(O|λ) (likelihood)
    👉🏻 運用 Forward algorithm,得出路徑機率的總和

2. Decoding

  • 從觀察序列O及模型參數λ,得出最有可能的隱藏狀態序列(hidden state sequence)
    👉🏻 運用Viterbi algorithm,找出機率最大的路徑max

3. Learning

  • 從觀察序列O,學習模型的參數 AB 並調整,使得前面 Evaluation/Likelihood 裡面的機率 P(O|λ) 越大越好
    👉🏻 運用EM algorithm,給定一個觀察序列,透過調整weight,使得evaluation算出的機率變大(maximum likelihood estimation)

參考資料1
參考資料2
參考資料3


上一篇
Day 15 - Named Entity Recognition (命名實體辨識)
下一篇
Day 17 - Part-of-Speech Tagging(POS Tagging)
系列文
AI、機器學習以及深度學習的語言學應用20
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言